package com.spsoft.dmzeinvoice.service;

import com.spsoft.core.model.Result;
import com.spsoft.core.model.leqidmz.param.ApplyRedConfirmDetailParam;
import com.spsoft.core.model.leqidmz.param.ConfirmRedConfirmParam;
import com.spsoft.core.model.leqidmz.param.QueryRedConfirmDetailParam;
import com.spsoft.core.model.leqidmz.param.QueryRedConfirmListParam;
import com.spsoft.core.model.leqidmz.response.ApplyRedConfirmVO;
import com.spsoft.core.model.leqidmz.response.ConfirmRedConfirmVO;
import com.spsoft.core.model.leqidmz.response.QueryRedConfirmDetailVO;
import com.spsoft.core.model.leqidmz.response.QueryRedConfirmListVO;

/**
 * 红字票业务相关
 */
public interface VmsRedInvoiceService {

    /**
     * 数电红字确认单申请
     * @param param
     * @return
     */
    Result<ApplyRedConfirmVO> applyRedConfirm(ApplyRedConfirmDetailParam param);

    /**
     * 数电红字确认单确认
     * @param param
     * @return
     */
    Result<ConfirmRedConfirmVO> confirmRedConfirm(ConfirmRedConfirmParam param);

    /**
     * 查询数电红字确认单明细信息
     * @param param
     * @return
     */
    Result<QueryRedConfirmDetailVO> queryRedConfirmDetail(QueryRedConfirmDetailParam param);

    /**
     * 查询数电红字确认单列表信息
     * @param param
     * @return
     */
    Result<QueryRedConfirmListVO>  queryRedConfirmList(QueryRedConfirmListParam param);
}
